package dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import beans.Bebida;

public class BebidaDao {

    private static List<Bebida> bebida = null;

    public static List<Bebida> getBebidas() {
        if (bebida == null) {
            Session session = SimpleSessionFactory.getSessionFactory(null).openSession();
            Query q = session.createQuery("from beans.Bebida bebida order by bebida.nombre");

            bebida = q.list();
            session.close();

        }
        return bebida;
    }

    public static boolean saveOrUpdateOrDelete(List<Bebida> bebidas, List<Bebida> bebidasABorrar) {
        Session session = null;
        try{
            session = SimpleSessionFactory.getSessionFactory(null).openSession();
            session.beginTransaction();

            for(Bebida beb : bebidas)
                session.saveOrUpdate(beb);

            for(Bebida beb : bebidasABorrar)
                session.delete(beb);

            session.getTransaction().commit();

            return true;
        }catch(Exception ex){
            if(session != null && session.isOpen())
                session.getTransaction().rollback();

            ex.printStackTrace();

            return false;
        }finally{
            if(session != null && session.isOpen())
                session.close();
        }
    }
}
